const crypto = require('crypto');

// 使用的对称加密算法
const algorithm = 'aes-256-cbc';

// 加密的数据
const dataToEncrypt = 'Hello, World!';
// 加密密钥和初始化向量（IV）
const key = crypto.randomBytes(32); // 256 bits
const iv = crypto.randomBytes(16); // 128 bits

// 创建加密器
const cipher = crypto.createCipheriv(algorithm, key, iv);

// 加密数据
let encryptedData = cipher.update(dataToEncrypt, 'utf8', 'hex');
encryptedData += cipher.final('hex');

console.log('AES 加密结果:', encryptedData);

// 创建解密器
const decipher = crypto.createDecipheriv(algorithm, key, iv);

// 解密数据
let decryptedData = decipher.update(encryptedData, 'hex', 'utf8');
decryptedData += decipher.final('utf8');

console.log('AES 解密结果:', decryptedData);